1. Field of the Invention
The present invention relates to systems and methods for interactively controlling and displaying information using computers. In particular, the present invention relates to a system and method for producing context sensitive prompts when inputting and editing formulae which compute information displayed in a matrix arrangement.
2. Description of Related Art
Computers are known for providing an environment where the user interacts with the computer using a display device and an input device. There are a variety of application programs in the prior art for the storage, manipulation and retrieval of data by the computer. These programs often display data in various forms on the display device and permit user manipulation of the data. For example, electronic spreadsheets are well known in the art.
Spreadsheets provide users with the ability to represent their data as a collection of information units called "cells." Cells are organized into a multidimensional matrix for purposes of addressing the display. Each cell has a formula which when evaluated, determines the cell's value. Cell formulae may be literal constants, references to the values of other cells or more complicted expressions involving operators and/or function invocations.
As application programs such as spreadsheets have become more developed, many new functions that users may perform on the data have been added. These functions have been added to satisfy the user's need to perform various mathematical, statistical and financial computations. Each function has a unique name or identifier to invoke the function. Each function often requires a particular number of parameters on which to operate. However, the addition of these new functions has increased the number of functions into the hundreds for a typical spreadsheet. Thus, it has become difficult for users to remember all the different functions, as well as the parameters for each function. Heirarchial nesting of function invocations also adds complexity for the user.
One problem with many programs in the prior art is accurately entering or editting the data for use by the program. This is especially a concern when entering or editing formulae invoving a function invocation in a spreadsheet. It is often difficult for the user to keep track of the portion of the formulae that is being presently input or edited. The inability to identify the formula components often causes users to introduce errors into a particular cell formula which affects the accuracy of the entire spreadsheet.
Another problem with prior art spreadsheets is the names used to invoke various functions. While some functions are descriptively named, most functions are identified by cryptic acronyms from which it is almost impossible to discern the function that will be performed. Thus, users need the information about the function that will allow them to identify the function, its operation and the required input or parameters.
While there have been attempts in the prior art to eliminate these problems, existing spreadsheets are only moderately successful in increasing user access to help and other functions. Many spreadsheets presently offer on-line help, however, the information provided is only nominally helpful, and the process of getting to the help information is very difficult. With most on-line help systems, the information is often limited to a single line of information and provides the user with only nominal assistance. However, the more significant problem is finding the help information. Many times a user knows that a program has the ability to perform a particular function, but the user does not know the name of the function. In this case, the user is forced to search through several screens of help to find the function desired. Even when a user knows the function, on-line help requires significant effort to obtain the pertinent information. For example, in searching for help for a function such as @RATE, the user will typically be required to perform several steps many with multiple key strokes to determine what operation the @RATE function performs and the parameters that must be passed to the function.
Thus, there is a need for a system and method for displaying information about particular function invocations while cell formulae containing them are being entered or edited.